## Code Convention
- Language : C++17
- comply SOLID principle
- always make and exectue unit tests for newly added, fixed features
### code writing convention
- Class : PascalCase
- Method : camelCase
- Variable : snake_case, default for public and prefix '_' for private
- Constant : UPPER_SNAKE
- Directory : kebab-case

### Detail Rules
- Boolean : use prefix 'is' or 'has' to make meanings clear
- Plural : use default english plural experessions. ex) sensors (O), sensor_list(X)
- Interface : use prefix 'I'
- Abstract Class : use prefix 'Abstract'